Traditional reward systems provide users with rewards from a fixed pool of rewards. This pool is usually provided to the rewards system when the rewards program is established. Thereafter, the rewards may be provided to user by randomly selecting the reward from the pool. However, because the pool of rewards is usually provided at the outset of the rewards program, the high value rewards may all be provided to certain users at the outset of the rewards program. If the high value rewards are already distributed, users may be less inclined to engage in the activities required to earn the rewards. As such, there is a need to improve the reward distribution in rewards programs.